/*     */ package com.zimbra.cs.db;
/*     */ 
/*     */ import com.zimbra.common.util.Log;
/*     */ import com.zimbra.common.util.LogFactory;
/*     */ import com.zimbra.cs.util.Config;
/*     */ import java.io.PrintStream;
/*     */ import org.apache.commons.cli.CommandLine;
/*     */ import org.apache.commons.cli.CommandLineParser;
/*     */ import org.apache.commons.cli.GnuParser;
/*     */ import org.apache.commons.cli.HelpFormatter;
/*     */ import org.apache.commons.cli.Options;
/*     */ import org.apache.commons.cli.ParseException;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public final class Versions
/*     */ {
/*  36 */   private static final Log LOG = LogFactory.getLog(Versions.class);
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static final int DB_VERSION = 103;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static final int INDEX_VERSION = 2;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static boolean checkVersions()
/*     */   {
/*  61 */     return (checkDBVersion()) && (checkIndexVersion());
/*     */   }
/*     */   
/*     */   public static boolean checkDBVersion() {
/*  65 */     String val = Config.getString("db.version", "0");
/*  66 */     if (val.equals(Integer.toString(103))) {
/*  67 */       return true;
/*     */     }
/*  69 */     LOG.error("DB Version Mismatch: ours=%s from DB=%s", new Object[] { Integer.valueOf(103), val });
/*  70 */     return false;
/*     */   }
/*     */   
/*     */   public static boolean checkIndexVersion()
/*     */   {
/*  75 */     String val = Config.getString("index.version", "0");
/*  76 */     if (val.equals(Integer.toString(2))) {
/*  77 */       return true;
/*     */     }
/*  79 */     LOG.error("Index Version Mismatch: ours=%s from DB=%s", new Object[] { Integer.valueOf(2), val });
/*  80 */     return false;
/*     */   }
/*     */   
/*     */   public static int getDbVersion()
/*     */   {
/*  85 */     return 103;
/*     */   }
/*     */   
/*     */   public static int getIndexVersion() {
/*  89 */     return 2;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void usage(Options options)
/*     */   {
/*  97 */     HelpFormatter formatter = new HelpFormatter();
/*  98 */     formatter.printHelp(Versions.class.getName(), options);
/*  99 */     System.exit(1);
/*     */   }
/*     */   
/*     */   static CommandLine parseCmdlineArgs(String[] args, Options options) {
/* 103 */     CommandLineParser parser = new GnuParser();
/*     */     
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 111 */     options.addOption("h", "help", false, "print usage");
/* 112 */     options.addOption("o", "outputdir", true, "output directory for version.sql");
/*     */     
/* 114 */     CommandLine cl = null;
/* 115 */     boolean err = false;
/*     */     try {
/* 117 */       cl = parser.parse(options, args);
/*     */     } catch (ParseException pe) {
/* 119 */       System.err.println("error: " + pe.getMessage());
/* 120 */       err = true;
/*     */     }
/*     */     
/* 123 */     if ((err) || (cl.hasOption("h"))) {
/* 124 */       usage(options);
/*     */     }
/* 126 */     return cl;
/*     */   }
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/db/Versions.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */